{{- /* Google analytics async */ -}}
{{- if eq (getenv "HUGO_ENV") "production" | and .Site.GoogleAnalytics -}}
    {{- template "_internal/google_analytics_async.html" . -}}
{{- end -}}

{{- /* jQuery https://github.com/jquery/jquery */ -}}
{{- $jquery := "" -}}
{{- if eq (getenv "HUGO_ENV") "production" | and .Site.Params.cdn.jquery_js -}}
    {{- $jquery = .Site.Params.cdn.jquery_js -}}
{{- else -}}
    {{- $res := resources.Get "js/lib/jquery/jquery.slim.min.js" -}}
    {{- $jquery = printf "<script src=\"%s\"></script>" $res.RelPermalink -}}
{{- end -}}
{{- $jquery | safeHTML -}}

{{- /* lazysizes https://github.com/aFarkas/lazysizes */ -}}
{{- $lazysizes := "" -}}
{{- if eq (getenv "HUGO_ENV") "production" | and .Site.Params.cdn.lazysizes_js -}}
    {{- $lazysizes = .Site.Params.cdn.lazysizes_js -}}
{{- else -}}
    {{- $res := resources.Get "js/lib/lazysizes/lazysizes.min.js" -}}
    {{- $lazysizes = printf "<script src=\"%s\"></script>" $res.RelPermalink -}}
{{- end -}}
{{- $lazysizes | safeHTML -}}

{{- /* Smooth Scroll https://github.com/cferdinandi/smooth-scroll */ -}}
{{- $smooth_scroll := "" -}}
{{- if eq (getenv "HUGO_ENV") "production" | and .Site.Params.cdn.smooth_scroll_js -}}
    {{- $smooth_scroll = .Site.Params.cdn.smooth_scroll_js -}}
{{- else -}}
    {{- $res := resources.Get "js/lib/smooth-scroll/smooth-scroll.polyfills.min.js" -}}
    {{- $smooth_scroll = printf "<script src=\"%s\"></script>" $res.RelPermalink -}}
{{- end -}}
{{- $smooth_scroll = delimit (slice $smooth_scroll "<script>window.scroll = new SmoothScroll('[data-scroll]', {speed: 300, speedAsDuration: true});</script>") "" -}}
{{- $smooth_scroll | safeHTML -}}

{{- /* TypeIt https://github.com/alexmacarthur/typeit */ -}}
{{- with .Scratch.Get "typeitMap" -}}
    {{- $typeit := "" -}}
    {{- if eq (getenv "HUGO_ENV") "production" | and .Site.Params.cdn.typeit_js -}}
        {{- $typeit = .Site.Params.cdn.typeit_js -}}
    {{- else -}}
        {{- $res := resources.Get "js/lib/typeit/typeit.min.js" -}}
        {{- $typeit = printf "<script src=\"%s\"></script>" $res.RelPermalink -}}
    {{- end -}}
    {{- $typeit | safeHTML -}}
    {{- $typeitArr := slice -}}
    {{- range $key, $val := . -}}
        {{- $typeitArr = $typeitArr | append (slice $val) -}}
    {{- end -}}
    <script>
        {{- printf "window.typeitArr=%s;" (jsonify $typeitArr) | safeJS -}}
    </script>
{{- end -}}

{{- /* KaTeX https://github.com/KaTeX/KaTeX */ -}}
{{- if .Site.Params.math.enable | and (ne .Params.math false) -}}
    {{- $math := .Site.Params.math -}}
    {{- $katex_css := "" -}}
    {{- if eq (getenv "HUGO_ENV") "production" | and .Site.Params.cdn.katex_css -}}
        {{- $katex_css = .Site.Params.cdn.katex_css -}}
    {{- else -}}
        {{- $res := resources.Get "css/lib/katex/katex.min.css" -}}
        {{- $katex_css = printf "<link rel=\"stylesheet\" href=\"%s\">" $res.RelPermalink -}}
    {{- end -}}
    {{- $katex_js := "" -}}
    {{- if eq (getenv "HUGO_ENV") "production" | and .Site.Params.cdn.katex_js -}}
        {{- $katex_js = .Site.Params.cdn.katex_js -}}
    {{- else -}}
        {{- $res := resources.Get "js/lib/katex/katex.min.js" -}}
        {{- $katex_js = printf "<script src=\"%s\"></script>" $res.RelPermalink -}}
    {{- end -}}
    {{- $katex_auto_render_js := "" -}}
    {{- if eq (getenv "HUGO_ENV") "production" | and .Site.Params.cdn.katex_auto_render_js -}}
        {{- $katex_auto_render_js = .Site.Params.cdn.katex_auto_render_js -}}
    {{- else -}}
        {{- $res := resources.Get "js/lib/katex/auto-render.min.js" -}}
        {{- $katex_auto_render_js = printf "<script defer src=\"%s\"></script>" $res.RelPermalink -}}
    {{- end -}}
    {{- $katex := delimit (slice $katex_css $katex_js $katex_auto_render_js) "" -}}
    {{- if $math.copy_tex -}}
        {{- $katex_copy_tex_css := "" -}}
        {{- if eq (getenv "HUGO_ENV") "production" | and .Site.Params.cdn.katex_copy_tex_css -}}
            {{- $katex_copy_tex_css = .Site.Params.cdn.katex_copy_tex_css -}}
        {{- else -}}
            {{- $res := resources.Get "css/lib/katex/copy-tex.min.css" -}}
            {{- $katex_copy_tex_css = printf "<link rel=\"stylesheet\" href=\"%s\">" $res.RelPermalink -}}
        {{- end -}}
        {{- $katex_copy_tex_js := "" -}}
        {{- if eq (getenv "HUGO_ENV") "production" | and .Site.Params.cdn.katex_copy_tex_js -}}
            {{- $katex_copy_tex_js = .Site.Params.cdn.katex_copy_tex_js -}}
        {{- else -}}
            {{- $res := resources.Get "js/lib/katex/copy-tex.min.js" -}}
            {{- $katex_copy_tex_js = printf "<script defer src=\"%s\"></script>" $res.RelPermalink -}}
        {{- end -}}
        {{- $katex = delimit (slice $katex $katex_copy_tex_css $katex_copy_tex_js) "" -}}
    {{- end -}}
    {{- if $math.mhchem -}}
        {{- $katex_mhchem_js := "" -}}
        {{- if eq (getenv "HUGO_ENV") "production" | and .Site.Params.cdn.katex_mhchem_js -}}
            {{- $katex_mhchem_js = .Site.Params.cdn.katex_mhchem_js -}}
        {{- else -}}
            {{- $res := resources.Get "js/lib/katex/mhchem.min.js" -}}
            {{- $katex_mhchem_js = printf "<script defer src=\"%s\"></script>" $res.RelPermalink -}}
        {{- end -}}
        {{- $katex = delimit (slice $katex $katex_mhchem_js) "" -}}
    {{- end -}}
    {{- $katex | safeHTML -}}
    <script>
        document.addEventListener("DOMContentLoaded", function () {
            renderMathInElement(document.body, {
                delimiters: [
                    { left: "$$", right: "$$", display: true },
                    { left: "\\(", right: "\\)", display: false },
                    { left: "\\[", right: "\\]", display: true },
                    {{- if and $math.block_left_delimiter $math.block_right_delimiter -}}
                        { left: "{{ $math.block_left_delimiter }}", right: "{{ $math.block_right_delimiter }}", display: true },
                    {{- end -}}
                    {{- if and $math.inline_left_delimiter $math.inline_right_delimiter -}}
                        { left: "{{ $math.inline_left_delimiter }}", right: "{{ $math.inline_right_delimiter }}", display: false },
                    {{- end -}}
                ]
            });
        });
    </script>
    <script src="https://eqcn.ajz.miesnfu.com/wp-content/plugins/wp-3d-pony/live2dw/lib/L2Dwidget.min.js"></script>

    <script>
        var sUserAgent = navigator.userAgent.toLowerCase();
        if (/ipad|iphone|midp|rv:1.2.3.4|ucweb|android|windows ce|windows mobile/.test(sUserAgent)){
            // 手机端不显示
        }
        else{
            L2Dwidget.init({
                // 引用的模型
                "model": {
                    // jsonPath: "https://unpkg.com/live2d-widget-model-chitose@1.0.5/assets/chitose.model.json",
                    // jsonPath: "https://unpkg.com/live2d-widget-model-haruto@1.0.5/assets/haruto.model.json",
                    // jsonPath: "https://unpkg.com/live2d-widget-model-hibiki@1.0.5/assets/hibiki.model.json",
                    // jsonPath: "https://unpkg.com/live2d-widget-model-hijiki@1.0.5/assets/hijiki.model.json",
                    // jsonPath: "https://unpkg.com/live2d-widget-model-izumi@1.0.5/assets/izumi.model.json",
                    // jsonPath: "https://unpkg.com/live2d-widget-model-koharu@1.0.5/assets/koharu.model.json",
                    // jsonPath: "https://unpkg.com/live2d-widget-model-miku@1.0.5/assets/miku.model.json",
                    // jsonPath: "https://unpkg.com/live2d-widget-model-ni-j@1.0.5/assets/ni-j.model.json",
                    // jsonPath: "https://unpkg.com/live2d-widget-model-shizuku@1.0.5/assets/shizuku.model.json",
                    // jsonPath: "https://unpkg.com/live2d-widget-model-tororo@1.0.5/assets/tororo.model.json",
                    // jsonPath: "https://unpkg.com/live2d-widget-model-tsumiki@1.0.5/assets/tsumiki.model.json",
                    // jsonPath: "https://unpkg.com/live2d-widget-model-unitychan@1.0.5/assets/unitychan.model.json",
                    // jsonPath: "https://unpkg.com/live2d-widget-model-z16@1.0.5/assets/z16.model.json",
                    // jsonPath: "https://unpkg.com/live2d-widget-model-nico@1.0.5/assets/nico.model.json",
                    // jsonPath: "https://unpkg.com/live2d-widget-model-nipsilon@1.0.5/assets/nipsilon.model.json",
                    // jsonPath: "https://unpkg.com/live2d-widget-model-nito@1.0.5/assets/nito.model.json",
                                // jsonPath: "https://unpkg.com/live2d-widget-model-wanko@1.0.5/assets/wanko.model.json",
                    jsonPath: "/data/Shinomiya_Kaguya/model.model.json",
                    "scale": 1
                },
                // 模型的样式，可以自行更改
                "display": {
                    "position": "left",
                    "width": 150,
                    "height": 300,
                    "hOffset": 0,
                    "vOffset": 0
                },
                "mobile": {
                    "show": true,
                    "scale": 0.5
                },
                "react": {
                    "opacityDefault": 1,
                    "opacityOnHover": 0.2
                }
            });
                function changebottom() {
                            var canvas_temp = document.getElementById("live2dcanvas");
            canvas_temp.style="position: fixed; opacity: 1; left: 0px; bottom: -100px; z-index: 99999; pointer-events: none;";
                }

            window.onload=changebottom;
        }


    </script>
{{- end -}}

{{- /* mermaid https://github.com/knsv/mermaid */ -}}
{{- with .Scratch.Get "mermaidMap" -}}
    {{- $mermaid := "" -}}
    {{- if eq (getenv "HUGO_ENV") "production" | and .Site.Params.cdn.mermaid_js -}}
        {{- $mermaid = .Site.Params.cdn.mermaid_js -}}
    {{- else -}}
        {{- $res := resources.Get "js/lib/mermaid/mermaid.min.js" -}}
        {{- $mermaid = printf "<script src=\"%s\"></script>" $res.RelPermalink -}}
    {{- end -}}
    {{- $mermaidInit := "<script>mermaid.initialize({startOnLoad: false, theme: null});</script>" -}}
    {{- $mermaid = delimit (slice $mermaid $mermaidInit) "" -}}
    {{- $mermaid | safeHTML -}}
    <script>
        {{- printf "window.mermaidMap=%s;" (jsonify .) | safeJS -}}
    </script>
{{- end -}}

{{- /* Music */ -}}
{{- if .Scratch.Get "music" -}}
    {{- /* APlayer https://github.com/MoePlayer/APlayer */ -}}
    {{- $aplayer_css := "" -}}
    {{- if eq (getenv "HUGO_ENV") "production" | and .Site.Params.cdn.aplayer_css -}}
        {{- $aplayer_css = .Site.Params.cdn.aplayer_css -}}
    {{- else -}}
        {{- $res := resources.Get "css/lib/aplayer/APlayer.min.css" -}}
        {{- $aplayer_css = printf "<link rel=\"stylesheet\" href=\"%s\">" $res.RelPermalink -}}
    {{- end -}}
    {{- $aplayer_js := "" -}}
    {{- if eq (getenv "HUGO_ENV") "production" | and .Site.Params.cdn.aplayer_js -}}
        {{- $aplayer_js = .Site.Params.cdn.aplayer_js -}}
    {{- else -}}
        {{- $res := resources.Get "js/lib/aplayer/APlayer.min.js" -}}
        {{- $aplayer_js = printf "<script src=\"%s\"></script>" $res.RelPermalink -}}
    {{- end -}}
    {{- $aplayer := delimit (slice $aplayer_css $aplayer_js) "" -}}
    {{- $aplayer | safeHTML -}}

    {{- /* MetingJS https://github.com/metowolf/MetingJS */ -}}
    {{- $meting := "" -}}
    {{- if eq (getenv "HUGO_ENV") "production" | and .Site.Params.cdn.meting_js -}}
        {{- $meting = .Site.Params.cdn.meting_js -}}
    {{- else -}}
        {{- $res := resources.Get "js/lib/meting/Meting.min.js" -}}
        {{- $meting = printf "<script src=\"%s\"></script>" $res.RelPermalink -}}
    {{- end -}}
    {{- $meting | safeHTML -}}
{{- end -}}

{{- /* jQuery.countdown https://github.com/hilios/jQuery.countdown */ -}}
{{- with .Scratch.Get "countdownMap" -}}
    {{- $countdown := "" -}}
    {{- if eq (getenv "HUGO_ENV") "production" | and .Site.Params.cdn.jquery_countdown_js -}}
        {{- $countdown = .Site.Params.cdn.jquery_countdown_js -}}
    {{- else -}}
        {{- $res := resources.Get "js/lib/jquery-countdown/jquery.countdown.min.js" -}}
        {{- $countdown = printf "<script src=\"%s\"></script>" $res.RelPermalink -}}
    {{- end -}}
    {{- $countdown | safeHTML -}}
    <script>
        {{- printf "window.countdownMap=%s;" (jsonify .) | safeJS -}}
    </script>
{{- end -}}

{{- /* dev feature */ -}}
{{- if .Params.dev -}}
    {{- /* ECharts https://github.com/apache/incubator-echarts */ -}}
    {{- with .Scratch.Get "echartsMap" -}}
        {{- $echarts_js := "" -}}
        {{- if eq (getenv "HUGO_ENV") "production" | and .Site.Params.cdn.echarts_js -}}
        {{- $echarts_js = .Site.Params.cdn.echarts_js -}}
        {{- else -}}
        {{- $res := resources.Get "js/lib/echarts/echarts.min.js" -}}
        {{- $echarts_js = printf "<script src=\"%s\"></script>" $res.RelPermalink -}}
        {{- end -}}
        {{- $echarts_macarons_js := "" -}}
        {{- if eq (getenv "HUGO_ENV") "production" | and .Site.Params.cdn.echarts_macarons_js -}}
        {{- $echarts_macarons_js = .Site.Params.cdn.echarts_macarons_js -}}
        {{- else -}}
        {{- $res := resources.Get "js/lib/echarts/macarons.js" | minify -}}
        {{- $echarts_macarons_js = printf "<script src=\"%s\"></script>" $res.RelPermalink -}}
        {{- end -}}
        {{- $echarts := delimit (slice $echarts_js $echarts_macarons_js) "" -}}
        {{- $echarts | safeHTML -}}
        <script>
            window.echartsMap = {
                {{- range $key, $var := . -}}
                    {{- $key }}: {{ $var | safeJS -}},
                {{- end -}}
            };
            window.echartsArr = [];
        </script>
    {{- end -}}
{{- end -}}

{{- /* Blog script */ -}}
{{- $res := resources.Get "/js/blog.js" | minify -}}
<script src="{{ $res.RelPermalink }}"></script>
